<?php
/**
 * Form_Hidden
 *
 * класс Form_Text позволяет работать с <input type="hidden"
 * @author Дмитрий Кузьма <kouzma.d@gmail.com>
 * @version 2.1
 */
class Form_Hidden extends Form_Element {
	
	protected $_allowError; // Разрешаем выводить ошибки после элемента

  function __construct(array $arrSettings = array(), $fieldName = null, $showInConstruct = false) {
    parent::__construct($arrSettings, $fieldName);
    if ($showInConstruct) $this->show();
  }
  
	public function setSetting($settingName, $settingValue, $additionalAllowedSettings = null) {
    switch ($settingName) {
    	case 'allowError':
    		$this->setAllowError($settingValue);
    		break;
    	default: parent::setSetting($settingName, $settingValue, $additionalAllowedSettings);
    }	
  }
  
  /**
   * Выводит элемент
   *
   */
  public function show() {
  	$this->checkForErrors();
  	echo '<input type="hidden"';
  	$this->showElementAttributes();
  	if (isset($this->_value)) echo ' value="' . $this->_value . '"';
  	elseif (isset($this->_defaultValue)) echo ' value="' . $this->_defaultValue . '"';
  	echo ' />';
  	if ($this->_allowError) $this->showAfterElementMessage();
  }
  
  /**
   * Устанавливаем параметр разрещающий вывод ошибок
   * 
   * @param bool $settingValue
   */
  public function setAllowError($settingValue) {
    	$this->_allowError = true;
  }

}
?>